home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1997 #3 / Amiga Plus CD - 1997 - No. 03.iso / pd / programmierung / alienbreed3d2_src / cheesesauce / abreed3.lha / protcallenc < prev    next >
Text File  |  1995-09-02  |  1KB  |  83 lines

  1.  
  2.  adda.w #5000,a1
  3.  adda.w #10000,a2
  4.  move.l a1,a4
  5.  lea protspace(pc),a5
  6.  moveq.w #123,d0
  7.  move.w #399,d1
  8. decode2:
  9.  move.w (a4)+,d2
  10.  add.w d0,d2
  11.  addq #5,d0
  12.  move.w d2,(a5)+
  13.  dbra d1,decode2
  14.  moveq #0,d0
  15.  move.w RVAL1(pc),d1
  16.  move.w RVAL2(pc),d2
  17.  jsr protspace(pc)
  18.  eor.w #$5643,d0
  19.  lea storeval(pc),a1
  20.  move.w d0,(a1)
  21.  moveq #0,d0
  22.  move.w RVAL1(pc),d1
  23.  move.w RVAL2(pc),d2
  24.  jsr (a2)
  25.  MOVE.L #78935450,d1
  26.  eor.w #$5643,d0
  27.  cmp.w storeval(pc),d0
  28.  bne.s notsetup
  29.  adda.w #2000,a3
  30.  move.l (a3)+,a1
  31.  add.l d1,a1
  32.  move.w d0,(a1)
  33.  not.w d0
  34.  move.l (a3)+,a1
  35.  add.l d1,a1
  36.  move.w d0,(a1)
  37.  ror.w #4,d0
  38.  move.l (a3)+,a1
  39.  add.l d1,a1
  40.  move.w d0,(a1)
  41.  sub.w #200,d0
  42.  move.l (a3)+,a1
  43.  add.l d1,a1
  44.  move.w d0,(a1)
  45.  not.w d0
  46.  move.l (a3)+,a1
  47.  add.l d1,a1
  48.  move.w d0,(a1)
  49.  neg.w d0
  50.  move.l (a3)+,a1
  51.  add.l d1,a1
  52.  move.w d0,(a1)
  53.  add.w #200,d0
  54.  move.l (a3)+,a1
  55.  add.l d1,a1
  56.  move.w d0,(a1)
  57.  eor.w #$f050,d0
  58.  move.l (a3)+,a1
  59.  add.l d1,a1
  60.  move.w d0,(a1)
  61.  not.w d0
  62.  move.l (a3)+,a1
  63.  add.l d1,a1
  64.  move.w d0,(a1)
  65.  sub.w #252,d0
  66.  move.l (a3)+,a1
  67.  add.l d1,a1
  68.  move.w d0,(a1)
  69. notsetup:
  70. ; Delete this code, cache freeze and return.
  71.  
  72.  lea PROTCALLENC(pc),a0
  73.  lea doneerase(pc),a1
  74.  move.w #100,d0
  75. eraseit:
  76.  add.w d0,(a0)+
  77.  addq.w #3,d0
  78.  cmp.l a1,a0
  79.  bne.s eraseit
  80. doneerase:
  81.  CACHE_FREEZE_ON d0
  82.  rts
  83.  dc.l 0